Управление сетевыми папками¶
Права доступа на новую папку¶
Для общих папок обязательны следующие параметры, настраиваемые на портале управления ALD Pro (Роли и службы сайта-Общий доступ к файлам-Сервер-Папка)- на примере папки shared_folder:
[shared_folder]
path = /opt/samba_shares/shared_folder
map archive = no
browseable = yes
writable = yes
valid users = @NOBODY
invalid users =
read list =
write list =
admin users =
Для того, чтобы при создании новых файлов владельцу не устанавливался флаг Execute, нужно отключить сопоставление DOS атрибута Archive с помощью параметра «map archive = no».
Значения NOBODY для списка valid users указывается, когда нет списка пользователей, которым открыт доступ к папке. Это необходимо в целях ограничения доступа пользователей к ресурсу.
[shared_folder]
path = /opt/samba_shares/shared_folder
browseable = yes
valid users = @admin
Уровень «Чтение» - viewer¶
Чтобы пользователям группы назначить доступ на чтение, их необходимо включить в списки valid users и read list. А группу NOBODY удалить. Пример для группы viewers:
[shared_folder]
path = /opt/samba_shares/shared_folder
browseable = yes
writable = yes
valid users = @viewers
invalid users =
read list = @viewers
write list =
admin users =
Пользователь видит папку, но доступа на создание, редактирование и удаление нет.
Уровень «Полный доступ» - fullcontrol¶
Чтобы пользователям/группам назначить полный административный доступ (Root доступ), их необходимо включить в списки valid users, admin users и write list. Это позволит действовать на файловом сервере от имени root в обход списков доступа файловой системы.
[shared_folder]
path = /opt/samba_shares/shared_folder
browseable = yes
writable = yes
valid users = @viewers @admins
invalid users =
read list = @viewers
write list = @admins
admin users = @admins
Пользователь видит папку, есть доступы на создание, редактирование и удаление.
Уровень «Изменение и назначение прав» - editor¶
Чтобы пользователям группы были назначены права на запись и на изменение прав доступа к объектам, их необходимо включить в списки valid users и write list.
Пример для группы editors:
[shared_folder]
path = /opt/samba_shares/shared_folder
browseable = yes
writable = yes
valid users = @viewers @admins @editors
invalid users =
read list = @viewers
write list = @admins @editors
admin users = @admins
Уровень «Доступ запрещен» - invalid¶
Чтобы пользователям группы запретить доступ к ресурсу, их необходимо включить в список invalid users.
Пример для группы guests:
[shared_folder]
path = /opt/samba_shares/shared_folder
browseable = yes
writable = yes
valid users = @viewers @admins @editors
invalid users = @guests
read list = @viewers
write list = @admins @editors
admin users = @admins
Пользователь не видит папку, соответственно доступов на создание, редактирование и удаление нет.
Дополнительные параметры¶
В свойствах сетевой папки присутствуют параметры Тип виртуальной файловой системы, Права доступа для новых файлов, Права доступа для новых папок и Наследование прав доступа.
Дополнительный параметр «Тип виртуальной файловой системы»¶
В настройки общей сетевой папки присутствует переключатель «Тип виртуальной файловой системы» со следующими значениями:
POSIX ACL — использование стандартных механизмов POSIX ACL без подключения дополнительных модулей виртуальной файловой системы, что обеспечивает полную поддержку Linux и базовую совместимость с Windows. При выборе этого типа виртуальной файловой системы параметр vfs objects не должен содержать модулей ACL:
[shared_folder]
...
vfs objects =
ACL XATTR — подключение модуля acl_xattr, который обеспечивает хранение Windows ACL, используя базовые механизмы POSIX ACL, что обеспечивает максимально возможную совместимость моделей безопасности Linux и Windows. При выборе этого типа виртуальной файловой системы параметр vfs objects должен содержать модуль acl_xattr:
[shared_folder]
...
vfs objects = acl_xattr
NFS4 ACLs — подключение модуля nfs4acl_xattr, который хранит списки доступа NFS4 в виде бинарных объектов в расширенных атрибутах файлов (EAs/xattrs), что обеспечивает полную поддержку Windows без поддержки Linux. При выборе этого типа виртуальной файловой системы параметр vfs objects должен содержать модуль nfs4acl_xattr:
[shared_folder]
...
vfs objects = nfs4acl_xattr
Дополнительный параметр «Права доступа для новых файлов и папок»¶
При создании новых файлов/папок через SMB подключение им назначаются права доступа «rw-r–r–» и «rwxr-xr-x» соответственно, что подходит для личных папок, но не подходит для общих папок, которые используются для совместной работы, поэтому в настройки сетевой папки необходимо добавить переключатель «Права доступа на файлы/папки» со следующими значениями:
Права на файлы — устанавливает параметр
force create mode, по умолчанию0777Права на папки — устанавливает параметр
force directory mode, по умолчанию0777
Дополнительный флажок «Наследовать права доступа»¶
Если необходимо управлять правами доступа через механизм наследования, то в настройки сетевой папки добавляется флажок «Наследовать права доступа». Если этот флажок включен, то значения параметров force create mode и force directory mode игнорируются, поэтому соответствующие поля можно делать неактивными.
При установке флажка «Наследовать права доступа» в конфигурационном файле smb.conf должны быть заданы следующие параметры:
[hared_folder]
...
inherit permissions = yes
inherit acls = yes
Управление папками¶
При удалении общей папки, локальная папка остается.
path: указывает на директорию на сервере Samba, которая будет доступна по сети. Если изменить этот параметр, сетевая папка будет указывать на другую локальную папку. Если по пути локальной папки нет, то она создастся
Пример:
path = /home/samba/shared
browseable: определяет, будет ли эта папка доступна для просмотра в браузерах сетевых ресурсов (например, в проводнике Windows).
Значения: yes: папка будет доступна для просмотра. no: папка будет скрыта.
Пример:
browseable = yes
access based share enum(ABE): позволяет создавать правила доступа к папке на основе пользователей и групп. Например, можно разрешить только чтение для определенной группы, а другим - запись.
Значения: yes: ABE включен. no: ABE отключен.
Пример:
access based share enum = yes
vfs objects: список модулей, которые расширяют функциональность Samba. Например, модульstreams_xattrпозволяет работать с расширенными атрибутами файлов.
Пример:
vfs objects = streams_xattr
force directory mode: устанавливает режим доступа (права) для всех новых подкаталогов, создаваемых в данной папке.
Значения: Число, представляющее собой режим доступа в восьмеричной системе счисления.
Пример:
force directory mode = 0755 (чтение, запись для владельца, чтение для группы, чтение для других)
force create mode: устанавливает режим доступа для всех новых файлов, создаваемых в данной папке.
Значения: Число, представляющее собой режим доступа в восьмеричной системе счисления.
Пример:
force create mode = 0644 (чтение, запись для владельца, чтение для группы, чтение для других)
inherit permissions: указывает, будут ли права доступа к файлам и папкам наследуемы от родительской папки.
Значения: yes: права наследуются. no: права не наследуются.
Пример:
inherit permissions = yes
inherit acls: указывает, будут ли ACL (списки управления доступом) наследуемы от родительской папки.
Значения: yes: ACL наследуются. no: ACL не наследуются.
Пример:
inherit acls = yes
Аутентификация¶
Начиная с версии 2.4.0 passdb backend больше не используется. Теперь конфигурация Samba генерируется по шаблону:
[global]
workgroup = c-1.ald.company.lan
realm = c-1.ald.company.lan
dedicated keytab file = FILE:/etc/samba/samba.keytab
kerberos method = dedicated keytab
idmap config c-1 : 1457400000-1457599999
idmap config c-1 : backend = sss
idmap config * : range = 0 - 0
log file = /var/log/samba/log.%m
include = registry
include = /etc/samba/share.conf
[homes]
browsable = yes
writable = yes
create mask = 0600
directory mask = 0700
valid users = %S
read only = No
guest ok = no
где: - c-1 - это значение до первой точке в имени домена в верхнем регистре.
1457400000-1457599999 - это диапазон id. Он считается по формуле из атрибутов записи
cn=c-1.ald.company.lan_id_range,cn=ranges,cn=etc,dc=c-1,dc=ald,dc=company,dc=lan:первое число -
ipaBaseIDвторое число -
ipaBaseID + ipaIDRangeSize - 1include = registry- активирует работу регистра. позволяет переопределять в нем конфигурацииinclude = /etc/samba/share.conf- подключает конфигурационный файл, в который пишется конфигурация.